這篇了解一下,標題中的 truthy
& falsy
。
MDN 上,對於 Falsy
的解釋為:
A falsy (sometimes written falsey) value is a value that is considered false when encountered in a Boolean context.
也就是 JavaScript 中需要用到布林值的上下文中,類型轉換後被定義為 false
的值。
為自動轉型的緣故,下面的情況會被轉型為 false
,即與 false
等價。
if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (NaN)
if ('')
if ("")
if (document.all)
以上的虛值 falsy
都會被轉成 false
。
In JavaScript, a truthy value is a value that is considered true when encountered in a Boolean context.
那 Truthy
有哪些?不是 Falsy
的全都歸類到 Truthy
,因此只要知道哪些是 Falsy
就好。
看到這邊我們就知道:
truthy
、falsy
和隱含轉型的true
、false
是不一樣的東西。
或是可以從下表中的綠點看出哪個是真值(Truthy):
文末總結一下:
falsy
:在需要用到 Boolean
類型的時候,表現為false
的都是 falsy
。truthy
:在需要用到 Boolean
類型的時候,表現為 true
的都是 truthy
。